package com.cans.singleton;

/**
 * 单例模式,完全体实现
 * 懒汉式
 */
public class LazySingletonLast {
    /**
     * 私有成员变量
     */
    private static volatile LazySingletonLast lazySingleton;

    // 私有化构造方法
    private LazySingletonLast() {
    }

    /**
     * 提供方法统一获取实例
     *
     * @return
     */
    public static LazySingletonLast getInstance() {

        if (lazySingleton != null) {
            return lazySingleton;
        }

        synchronized (LazySingletonLast.class) {
            if (lazySingleton == null) {
                lazySingleton = new LazySingletonLast();
            }
            return lazySingleton;
        }
    }
}
